home *** CD-ROM | disk | FTP | other *** search
- #[document 65.6818 127.982 146.129 199.652
- static oe="odd_even",nzw="nonzero_winding",wc="winding_counting";
- static stroked="stroked";
- static vert="vertical",horz="horizontal";
- static miter="miter",bevel="bevel",round="round";
- static butt="butt",proj="projected";
- #[page
- auto m=move,l=line,c=curve;
- auto p;
- gc_cspace("Lab");
- gc_color(100.0,0.0,0.0);
- rect(0,0,0,0);
- auto ng;ng=draw(path());
- auto s=array(ng);
- m(94.836625,184.652102);
- l(127.136949,157.316158);
- finish_edge();
- p=path();
- gc_draw_style(stroked);
- gc_line_join_style(miter);
- gc_stroke_width(3.000000);
- gc_font_draw_style(0);
- gc_color(0.000000,0.000000,0.000000);
- s[0]=draw(p);
- m(121.131392,148.855032);
- l(127.948515,158.292441);
- finish_edge();
- p=path();
- gc_stroke_width(2.500000);
- s[1]=draw(p);
- s[0]:=s[1];
- m(88.506410,177.167260);
- l(95.161251,185.302958);
- c(95.161251,185.302958,96.459756,181.235109,94.674311,178.957114);
- c(93.865600,177.925304,93.538119,177.329974,91.590361,176.516404);
- c(90.620905,176.111467,88.506410,175.865549,88.506410,175.865549);
- finish_edge();
- p=path();
- gc_draw_style(nzw);
- s[1]=draw(p);
- s[0]:=s[1];
- m(122.592180,149.343174);
- l(133.629477,145.926181);
- l(127.948515,156.713084);
- l(122.592180,149.343174);
- close_edge();
- p=path();
- gc_draw_style(stroked);
- s[1]=draw(p);
- s[0]:=s[1];
- m(128.597768,147.390606);
- l(131.032466,149.994029);
- l(133.304850,146.414322);
- l(128.597768,147.390606);
- close_edge();
- p=path();
- gc_draw_style(nzw);
- s[1]=draw(p);
- s[0]:=s[1];
- m(88.181784,176.841832);
- l(122.592180,150.482171);
- finish_edge();
- p=path();
- s[1]=draw(p);
- gc_draw_style(stroked);
- gc_stroke_width(4.500000);
- s[1]:=draw(p);
- s[0]over=s[1];
- static coladjfunc(a, inp, outp)
- {
- auto i;
- auto j;
- auto k;
- auto getpos;
- auto coeffs;
- auto tmp;
- getpos = 0;
- for (i = 0; i < 4; i++)
- {
- if (a.en_flags[i] && a.curves[getpos] != NULL)
- {
- if (inp[i] < a.curves[getpos].cutoffs[0])
- outp[a.swap_flags[i]] = a.curves[getpos].yends[0];
- else if (inp[i] > a.curves[getpos].cutoffs[($nels)(a.curves[getpos].cutoffs)-1])
- outp[a.swap_flags[i]] = a.curves[getpos].yends[1];
- else
- {
- k = j = (($nels)(a.curves[getpos].cutoffs) - 1) / 2;
- while (inp[i] < a.curves[getpos].cutoffs[k] || inp[i] > a.curves[getpos].cutoffs[k + 1])
- {
- j = (j + 1) / 2;
- if (inp[i] < a.curves[getpos].cutoffs[k])
- k-=j;
- else
- k+=j;
- }
- coeffs = a.curves[getpos].coeffs;
- tmp = coeffs[4 * k + 3];
- for (j = 2; j >= 0; j--)
- tmp = tmp * inp[i] + coeffs[4 * k + j];
- outp[a.swap_flags[i]] = tmp;
- }
- getpos++;
- }
- }
- }
- auto map;
- map=make_cmap("Lab",NULL,"Lab",NULL,coladjfunc,[struct
- curves=[array
- [struct
- coeffs=[array 42.99998900,-0.88000000,0.00000000,0.00000000,],
- cutoffs=[array 47.72727200,48.86363600,],
- yends=[array 1.00000000,0.00000000,]
- ],
- ],
- en_flags=[array 1, 0, 0, 0],
- swap_flags=[array 3, 0, 0, 0]
- ],
- [set 0,],
- [set 3,]);
- s[0]=cmap(s[0],map,1);
- page:=s[0];
- s=NULL;
- #]page
- #]document
-